using System;
using System.Collections.Generic;
using System.Text;


namespace Feathertail
{
    public interface Command
    {
        /// <summary>
        /// Setup this command.
        /// </summary>
        /// <param IncomingName="Client"></param>
        void Setup(FeathertailClient Client);

        /// <summary>
        /// Interpret the given command line input
        /// </summary>
        /// <param IncomingName="CmdLine"></param>
        /// <returns></returns>
        string HandleInput(string[] CmdLine);

        /// <summary>
        /// Return the names that will trigger this command.
        /// </summary>
        /// <returns></returns>
        string[] GetCommandStrings();

        /// <summary>
        /// Short description of what this command does
        /// </summary>
        /// <returns></returns>
        string GetSummaryText();

        /// <summary>
        /// Get the help text to display for this command
        /// </summary>
        /// <returns></returns>
        string GetHelpText();
    }
}
